package com.hsl.hslcodemother.mapper;

import com.mybatisflex.core.BaseMapper;
import com.hsl.hslcodemother.model.entity.ChatHistory;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 对话历史 映射层
 *
 * @author <a href="https://gitee.com/liul3">猴赛雷</a>
 */
public interface ChatHistoryMapper extends BaseMapper<ChatHistory> {

    /**
     * 根据应用ID查询最新的对话历史（分页）
     *
     * @param appId 应用ID
     * @param limit 限制条数
     * @param offset 偏移量
     * @return 对话历史列表
     */
    List<ChatHistory> selectLatestByAppId(@Param("appId") Long appId, 
                                         @Param("limit") Integer limit, 
                                         @Param("offset") Integer offset);

    /**
     * 根据应用ID查询对话历史总数
     *
     * @param appId 应用ID
     * @return 总数
     */
    Long countByAppId(@Param("appId") Long appId);

    /**
     * 根据应用ID删除所有对话历史
     *
     * @param appId 应用ID
     * @return 删除条数
     */
    int deleteByAppId(@Param("appId") Long appId);
}